home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
archiver
/
mdcd10.zip
/
MDCD.DOC
< prev
next >
Wrap
Text File
|
1988-10-26
|
43KB
|
901 lines
MDCD Version 1.0 - 10/24/88 - File Compression and DeCompression Program
This documentation is organized in the following order, under the
following headings:
WHAT IS IT ?
WHAT ISN'T IT ?
WHY WAS IT WRITTEN ?
HOW CAN I USE IT ?
WHAT ARE THE RESTRICTIONS ?
CONCERN # 1
CONCERN # 2
CONCERN # 3
CONCERN # 4
MDCD GENERAL INFORMATION & FEATURES
MDCD COMPRESS OPTION
MDCD DECOMPRESS OPTIONS
MDCD LIST OPTIONS
MDCD FUTURE RELEASES
SOFTWARE DESCRIPTION
WRITING YOUR OWN PROGRAMS
THE COMPRESSION ALGORITHM
MISCELLANEOUS INFO
LIABILITY
DISCLAIMERS
ACKNOWLEDGEMENTS
WHERE CAN I GET THE MOST RECENT COPY OF THE SOFTWARE ?
WHERE CAN I CONTACT THE AUTHOR ?
WHAT IS IT ?
MDCD 1.0 is the first release of a file compression and
decompression program that compresses data using a 13 bit LZW
algorithm. It was written in Turbo Pascal and requires the
Turbo Pascal 5.0 compiler. Portions are written in 808x
assembler and require Turbo Assembler 1.0 or MASM 3.0+.
It is not as fast as PKWARE products but compresses almost as
well. It is significantly faster and compresses better than
the only version of ARC that I could find to compare it
against (version 5.20).
It demonstrates some interesting differences when compared to
current file compression/decompression programs. I will talk
about the differences in a bit, but first I want to talk
about what it is not...
WHAT ISN'T IT ?
It is not a replacement for PKWARE/SEA products. It is not a
solution to the ARC wars that currently have (to mention a
few) BBS Sysops, telecommunications networks and PC users in
general in total disarray. It is not meant to show off my
computer knowledge as I am terrible when it comes to math,
and have only a simplistic understanding of the compression
algorithm involved.
You are probably asking yourself, "Then why was it written" ?
I shall explain...
WHY WAS IT WRITTEN ?
I write commercial PC software for a living. This includes a
specialized communications program, a telephone call
accounting system and several clients that require low level
systems programming. The communications program uses
compression in the process of preparing files for
transmission. The call accounting system is rather large and
I need to reduce disk storage and increase reliability when
shipping and installing. I also like to have an orderly
method of keeping track of various releases and revision
levels of this software.
I did not want to pay an exorbitant fee to license
compression technology from a third party. Not only is this
cost prohibitive for someone trying to make a simple living,
but it is nearly impossible to get
something that can be tailored to ones own needs. You are
stuck with a program that more than likely requires more disk
space, or gobbles up more quantities of memory than you care
to relinquish.
So, I wrote my own. It is written for my needs. It uses
minimal memory. It requires no disk work area. It allows me
to remember the exact path that a file was compressed from.
It lets me store comments about the file. It lets me keep
duplicate file names in a compressed file, retaining their
real-time chronological order. It lets me remember the
original file's date, time and size. It allows me to retain
a file's original attributes so that if it is a hidden,
system, read only file before compression, it will be
likewise after. It allows me to simply group files together
in a single area and doesn't waste time trying to compress
already compressed .ARC or .ZOO files. It serves my exact
needs and is written for me, a commercial software author, to
facilitate control and distribution of software.
I wrote it for one other express purpose. I continually grow
in my programming abilities. I have been programming
computers for over 20 years and can't think of any period in
my career where I wasn't constantly increasing my knowledge
and awareness of current computer technology. This has
happened at a fairly logical pace for most of my programming
life... Until I discovered the crazy world of
telecommunications/public domain/shareware/BBS'ing/networks in
the sky/etc./etc.
This crazy world has increased my knowledge, solved my
day-to-day technical problems, provided my with one heck of a
lot of fun and exposed me to computer technology at a rate I
would never have believed possible. I have learned from the
generosity of others sharing their knowledge, experience and
brilliance and I want to attempt to repay that in kind.
"So", you ask yourself, "how can I use this software?"
HOW CAN I USE IT ?
You can use it in any way that it serves your needs, providing
you adhere to a couple of restrictions I will talk about in a
minute. I am including all of the source code. If you are a
shareware, or commercial software author, you could probably
use it in many of the ways I mentioned above. Some ideas that
come to mind:
A communications program compression of files prior to
transmission. Graphics compression while saving to disk.
Word processor document compression. Distributing products
in compressed format and reliably determining a successful
installation. Personal file compression program.
Maintaining version/release control of software products,
word processing documents, or just about anything. To
mention a few!
"Hmmmmm, sounds like I could use this, but what ARE those
restrictions ?"
WHAT ARE THE RESTRICTIONS ?
I toyed with the idea of copyrighting this software. I
wanted to somehow have a means to control the few
restrictions & requests that I had decided on. But that
seemed kind of silly, and basically unenforceable. I was
modifying a brilliant algorithm (which I do not understand),
written by someone else (who had placed the code in the
public domain) and adding some simple stuff to move some
files around and keep track of basic information. And on top
of that I was releasing the source to the general public,
virtually no strings attached! I figured that I would get
thrown out by any court trying to decide if my copyright was
enforceable, especially if the proprietary source code was
made available to all. So... NO COPYRIGHT.
I have three restrictions. All are unenforceable legally, one
is enforceable morally, the other two are enforceable by virtue
of the media in which this is distributed.
Restriction 1: If you use this code as part of a product that
you gain monetarily from, I will be considered a "registered"